export const FilesActions = Object.freeze({
  create: false,
  load: false,
  edit: false,
  fillForm: false,
  peerReview: false,
  commenting: false,
  block: false,
  viewVersionHistory: false,
  changeVersionHistory: false,
  viewContent: false,
  viewComments: false,
  copyAtBuffer: false,
  printing: false,
  download: false,
  deleteSelf: false,
  moveSelf: false,
  deleteAlien: false,
  moveAlien: false,
  rename: false,
  copyFromPersonal: false,
  saveAsForm: false,
  canCopy: false,
  canDuplicate: false,
});

export const OwnerFilesActions = Object.freeze({
  ...FilesActions,
  create: true,
  load: true,
  edit: true,
  fillForm: true,
  peerReview: true,
  commenting: true,
  block: true,
  viewVersionHistory: true,
  changeVersionHistory: true,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
  deleteSelf: true,
  moveSelf: true,
  deleteAlien: true,
  moveAlien: true,
  rename: true,
  copyFromPersonal: true,
  saveAsForm: true,
  canCopy: true,
  canDuplicate: true,
});

export const RoomAdminFilesActions = Object.freeze({
  ...FilesActions,
  create: true,
  load: true,
  edit: true,
  fillForm: true,
  peerReview: true,
  commenting: true,
  block: true,
  viewVersionHistory: true,
  changeVersionHistory: true,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
  deleteSelf: true,
  moveSelf: true,
  deleteAlien: true,
  moveAlien: true,
  rename: true,
  copyFromPersonal: true,
  saveAsForm: true,
  canCopy: true,
  canDuplicate: true,
});

export const EditorFilesActions = Object.freeze({
  ...FilesActions,
  edit: true,
  fillForm: true,
  peerReview: true,
  commenting: true,
  viewVersionHistory: true,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
});

export const FormFillerFilesActions = Object.freeze({
  ...FilesActions,
  fillForm: true,
  peerReview: true,
  commenting: true,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
});

export const ReviewerFilesActions = Object.freeze({
  ...FilesActions,
  peerReview: true,
  commenting: true,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
});

export const CommentatorFilesActions = Object.freeze({
  ...FilesActions,
  commenting: true,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
});

export const ViewerFilesActions = Object.freeze({
  ...FilesActions,
  viewContent: true,
  viewComments: true,
  copyAtBuffer: true,
  printing: true,
  download: true,
});
